{
  key.typename: "S<X>",
  key.typeusr: "$s8MyModule1SVyxGD",
  key.members: [
    {
      key.name: "methodForProto1(x:)",
      key.description: "methodForProto1(x: X)",
      key.typename: "ConcreteProto",
      key.typeusr: "$s8MyModule13ConcreteProtoVD",
      key.sourcetext: "methodForProto1(x: <#T##X#>)"
    },
    {
      key.name: "methodForProto2(x:)",
      key.description: "methodForProto2(x: U)",
      key.typename: "ConcreteProtoGen<U>",
      key.typeusr: "$s8MyModule16ConcreteProtoGenVyqd__GD",
      key.sourcetext: "methodForProto2(x: <#T##U#>)"
    },
    {
      key.name: "methodForProto3(x:)",
      key.description: "methodForProto3(x: S<X>)",
      key.typename: "ConcreteProtoGen<X>",
      key.typeusr: "$s8MyModule16ConcreteProtoGenVyxGD",
      key.sourcetext: "methodForProto3(x: <#T##S<X>#>)"
    },
    {
      key.name: "methodForProto4()",
      key.description: "methodForProto4()",
      key.typename: "S<X>",
      key.typeusr: "$s8MyModule1SVyxGD",
      key.sourcetext: "methodForProto4()"
    }
  ]
}
